package cn.infrabase.core.util;

import cn.infrabase.*;
import cn.infrabase.Error;
import cn.infrabase.RuntimeException;

/**
 * 反射异常。
 *
 * @author Weimin Gao
 * @since 1.0.0
 **/
public class ReflectionException extends RuntimeException {

	private static final long serialVersionUID = Version.SID;

	/**
	 * 构造函数。
	 *
	 * @param error  错误信息。
	 * @param params 错误信息详情参数。
	 */
	public ReflectionException(Error error, Object... params) {
		super(error, params);
	}

	/**
	 * 构造函数。
	 *
	 * @param message 错误消息。
	 */
	public ReflectionException(String message) {
		super(Errors.REFLECTION_ERROR, message);
	}

	/**
	 * 构造函数。
	 *
	 * @param message 错误消息。
	 * @param cause   错误异常。
	 */
	public ReflectionException(Throwable cause, String message) {
		super(cause, Errors.REFLECTION_ERROR, message);
	}
}
